<?php
require_once "login.php";
require_once 'Model/Evento.php';
require_once 'Model/Categoria.php';
require_once 'DAO/DAOEventos.php';
require_once 'DAO/DAOEmpresa.php';
require_once 'DAO/DAOLocal.php';
require_once 'DAO/DAOLote.php';

class CadastroEventoController {

    private $empresa;

    function CadastroEventoController() {
        if ($this->verificaFormCadastroEvento()) {
            header("Location: ./meusevento");
        } else {
            if (LoginController::singleton()->estaConectado() && LoginController::singleton()->getTipo() == TIPO_EMPRESA) {
                $this->empresa = LoginController::singleton()->getUsuario();
                require_once 'viewCadastroEvento.php';
            } else {
                require_once 'viewPrincipal.php';
            }
        }
    }

    function verificaFormCadastroEvento() {
        if (!empty($_POST)) {
            if (!empty($_POST['formCadastroEvento'])) {
                $this->cadastraEvento();
                return true;
            }
        }
        return false;
    }

    function cadastraEvento() {
        $de = new DAOEventos();
        $ev = new Evento();
        $demp = new DAOEmpresa();
        $dl = new DAOLocal();
        //$local = $dl->getLocal(1);
        $local = new Local();

        $local->setDescricao($_POST['edtDescricaoLocal']);

        $Dcid = new DAOCidade();
        $local->setCidade($Dcid->getCidade($_POST['edtCidade']));

        $Dend = new DAOEndereco();
        $end = new Endereco();
        $end->setDescricao($_POST['edtEnderecoLocal']);
        $endereco = $Dend->addEndereco($end);
        $local->setEndereco($endereco);

        $local->setNumero($_POST['edtNumero']);

        $bai = new Bairro();
        $Dbai = new DAOBairro();
        $bai->setDescricao($_POST['edtBairro']);
        $bairro = $Dbai->addBairro($bai);
        $local->setBairro($bairro);


        //$localAdd = $dl->addLocal($local);

        $ev->setTitulo($_POST['edtNomeEvento']);
        $ev->setDescricao(($_POST['edtDescricaoEvento']));
        $ev->setEmpresa($demp->getEmpresa($_POST['codEmpresa']));

        $ev->setCategoria(new Categoria($_POST['edtCategoriaEvento'], "a"));
        $ev->setData($_POST['edtData']);
        $ev->setHoraInicio($_POST['edtHoraInicio']);
        $ev->setHoraFim($_POST['edtHoraFim']);
        $ev->setLocal($dl->addLocal($local));

        $codevento = $de->addEvento($ev);
        $ev->setCodigo($codevento);
        if ($codevento != -1) {
            
            
            $arquivos = 0 ;
            $de = new DAOEventos();
            $evento = $de->getEvento($codevento);
            Upload::uploadImagem($_FILES['edtImagemEvento'], "eventos/E$codevento-" . time()."-F$arquivos.jpg", new DAOImagemEvento(), $evento);
            Upload::uploadImagens($_FILES['edtImagensEvento'], "eventos/E$codevento-" . time()."-F", new DAOImagemEvento(), $evento, 'N');
            
            $cont = 1;
            //Se Falhar aqui tem que remover o Evento
            foreach ($_POST['edtLotesMas'] as $mas) {
                $l = new Lote();
                $l->setEvento($ev);
                $l->setVlrHomem($mas);
                $l->setVlrMulher($_POST['edtLotesFem'][$cont - 1]);
                $l->setNumero($cont);
                $l->setQuantidade($_POST['edtQuantidadeLote'][$cont - 1]);
                $dl = new DAOLote();
                $dl->addLote($l);
                $cont++;
            }
            return true;
        }else{
            return false;
            
        }


//        echo $_POST['edtFimIngresso'][0];
    }

    function getEventosVertical() {
        Visual::getEventosVertical();
    }

    public function getEmpresa() {
        return $this->empresa;
    }

}
?>
